package com.zmn.plat.model.entity.service.category;

import com.zmn.common.utils.pager.Operator;
import lombok.*;

import java.util.Date;

/**
 * 故障分类表
 *
 * @author tanbiao
 * @since 2019-11-21 18:56:50
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ItemCategory extends Operator implements Comparable<ItemCategory>{
    private static final long serialVersionUID = 1L;

    /**
     * 故障分类Id
     */
    private Integer categId;
    /**
     * 故障分类名称
     */
    private String categName;
    /**
     * 项目类型 1服务项目类型 2计价器项目类型
     */
    private Integer categType;
    /**
     * 首字母
     */
    private String firstLetter;
    /**
     * 保内保外：1保外，2保内
     */
    private Integer bizType;
    /**
     * 排序：越小越靠前显示
     */
    private Integer sort;
    /**
     * 状态：1停止，2启用
     */
    private Integer status;
    /**
     * 项目说明
     */
    private String desc;
    /**
     * 创建人
     */
    private String creater;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改人
     */
    private String updater;
    /**
     * 操作时间
     */
    private Date updateTime;

    @Override
    @SuppressWarnings("Duplicates")
    public int compareTo(ItemCategory k) {
        int result = this.getSort().compareTo(k.getSort());
        if (result == 0) {
            Date edate = this.getUpdateTime();
            Date kdate = k.getUpdateTime();
            if (edate != null && kdate != null) {
                return kdate.compareTo(edate);
            } else {
                if (edate == null && kdate != null) {
                    return 1;
                } else if (edate != null && kdate == null) {
                    return -1;
                } else {
                    return 0;
                }
            }
        }
        return result;
    }
}
